OTA File Upload Servers

ABSTRACT

Devices and methods are disclosed which relate to gathering a plurality of data from a SIM card on a wireless communications device and recording the plurality of data onto a database where the plurality of data can be viewed at a later time. A network device requests a plurality of data from a SIM card on a wireless communications device. An OTA platform receives the request and gathers the plurality of data from the SIM card. The OTA platform, which normally sends the plurality of data back to the network device, sends the plurality of data to a file upload server instead. The file upload server records the plurality of data to a database where it can be viewed by the network device. In certain examples, the file upload server sends a notification to the network device that the plurality of data is ready for viewing. In other variations, the plurality of data can be viewed from any internet portal.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to data retrieval. More specifically, the present invention relates to remotely uploading data from a SIM card onto a database.

2. Background of the Invention

Today many cellular telephones are equipped with a Subscriber Identity Module (SIM) card. SIM cards are necessary for the operation of Global System for Mobile Communications (GSM) devices, a mobile device standard used by over 3 billion people. Each SIM card stores network specific information used to authenticate and identify subscribers on a network. This information includes the Integrated Circuit Card Identification (ICCID), International Mobile Subscriber Identity (IMSI), Authentication Key (Ki), Local Area Identity (LAI), and Operator-Specific Emergency Number. The SIM card also stores other carrier specific data, such as the Short Message Service Center (SMSC) number, Service Provider Name (SPN), Service Dialing Numbers (SDN), Advice-Of-Charge parameters, and Value Added Service (VAS) applications.

Often it is necessary to manage the content of SIM cards. There are many elements on the SIM card that need to be managed which control various aspects related to network access, such as the networks the card can access, the priority of each network, how often they should scan for roaming partners, etc. Unfortunately, managing the content is typically a one way street when it comes to those elements on the SIM card. Service providers typically send elements or updates to these SIM card files and get some kind of response, an acknowledgement that they were received on the device. Until recently, service providers did not have a method to proactively query the content on the SIM cards and see what was happening on the device side. This put service providers at a disadvantage when it came to trouble shooting network access issues. The service providers knew what should be on the card and what they thought was on the card, but didn't know for sure what was on the card. There was no way other than to remove the SIM card from the customer's device and insert it into a SIM card reader connected to a PC and read the contents of that SIM card.

Recently, service providers have somewhat gained a capability to remotely read a SIM card without removing it from the customer's device. The service provider can query the SIM card and ask for specific data elements to be returned, with the data elements returned over the air (OTA). This is referred to as an OTA platform. When the service provider queries the SIM card for an OTA response, the data comes back to a client and the client displays the data.

Currently, a browser-based client supplied by an OTA platform vendor can request a remote read of the SIM card and display the response on the client screen. However, there are currently many limitations to this attempted solution. First, the user must not browse away from the client while the upload request is pending, or the response data is lost. Since the request can take several minutes to be processed, this limitation is a burden on the user. Also, with this attempted solution, the data is not persistent. Once the request is successfully processed and returned to the client, if the user browses away from the screen the data is lost for further evaluation. The data is not stored and must be requested each time.

Existing systems cannot provide the necessary information to diagnose many wireless problems. When a device is roaming, either internationally or domestically, the network is not able to read the SIM card. Additionally, general service issues cannot be determined by existing systems. What is needed is a platform to remotely read a SIM card which stores responses from the SIM card.

SUMMARY OF THE INVENTION

The present invention is a system for gathering a plurality of data from a SIM card on a wireless communications device and recording the plurality of data onto a database where the plurality of data can be viewed at a later time. A network device requests a plurality of data from a SIM card on a wireless communications device. An OTA platform receives the request and gathers the plurality of data from the SIM card. The OTA platform, which normally sends the plurality of data back to the network device, sends the plurality of data to a file upload server instead. The file upload server records the plurality of data to a database where it can be viewed by the network device. In exemplary embodiments of the present invention, the file upload server sends a notification to the network device that the plurality of data is ready for viewing. In other exemplary embodiments, the plurality of data can be viewed from any internet portal.

In one exemplary embodiment, the present invention is a system for gathering information from a SIM card of a wireless communications device. The system includes a network device, an OTA platform in communication with the network device, a wireless communications device having a SIM card in communication with the OTA platform, a plurality of data on the SIM card, a file upload server in communication with the OTA platform, and a database in communication with the file upload server. The network device sends a request for a plurality of data to the OTA platform and receives the plurality of data from the database.

In another exemplary embodiment, the present invention is a method of viewing a plurality of data from a SIM card of a wireless communications device at a time later than a request for the plurality of data is sent. The method includes recording the plurality of data to a database from a file upload server, and viewing the plurality of data from the database. An OTA platform encrypts the request so that the wireless communications device understands and, once the OTA platform has received the plurality of data from the wireless communications device, sends the plurality of data to the file upload server.

In yet another exemplary embodiment, the present invention is a method of gathering information from a SIM card of a wireless communications device. The method includes sending a request for a plurality of data, encrypting the request so that a wireless communications device understands the request, sending the plurality of data to a file upload server, and recording the plurality of data onto a database. The plurality of data can be viewed at a time later than it is recorded.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a system for remotely reading a SIM card, according to an exemplary embodiment of the present invention.

FIG. 2 shows a flowchart of a method of remotely reading a SIM card on a wireless communications device, according to an exemplary embodiment of the present invention.

FIG. 3A shows a screenshot of a request for a plurality of data on a network device, according to an exemplary embodiment of the present invention.

FIG. 3B shows a screenshot of a data selection screen on a network device, according to an exemplary embodiment of the present invention.

FIG. 4 shows a system for remotely reading a SIM card on a wireless communications device, according to an exemplary embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention is a system for gathering a plurality of data from a SIM card on a wireless communications device and recording the plurality of data onto a database where the plurality of data can be viewed at a later time. A network device requests a plurality of data from a SIM card on a wireless communications device. An OTA platform receives the request and gathers the plurality of data from the SIM card. The OTA platform, which normally sends the plurality of data back to the network device, sends the plurality of data to a file upload server instead. The file upload server records the plurality of data to a database where it can be viewed by the network device. In exemplary embodiments of the present invention, the file upload server sends a notification to the network device that the plurality of data is ready for viewing. In other exemplary embodiments, the plurality of data can be viewed from any internet portal.

“Wireless communications device,” as used herein and throughout this disclosure, refers to any device capable of sending or receiving waves to communicate with other devices. Examples of wireless communications devices are cellular telephones, computers, personal digital assistants (PDAs), or any other device that utilizes at least one form of wireless communication. Forms of wireless communication include cellular RF, BLUETOOTH, WiFi, etc.

“Network device,” as used herein and throughout this disclosure, refers to any device capable of digital communication across a network. Examples of a network device include a personal computer, a cellular telephone, a PDA, etc.

For the following description, it can be assumed that most correspondingly labeled structures across the figures (e.g., 132 and 232, etc.) possess the same characteristics and are subject to the same structure and function. If there is a difference between correspondingly labeled elements that is not pointed out, and this difference results in a non-corresponding structure or function of an element for a particular embodiment, then that conflicting description given for that particular embodiment shall govern.

Instead of transient data being stored in a browser on a network device, the command to read a plurality of data from a SIM card of a wireless communications device is sent to a file upload server. The file upload server receives the plurality of data, records the plurality of data into a database, and then notifies the requestor when the plurality of data is stored. The requestor can go in and view the plurality of data at their convenience because the plurality of data is stored persistently.

This solution utilizes a file upload server that receives the plurality of data asynchronously and records the plurality of data into a database. This is an improvement in two areas. First, the requestor's network device is not tied-up while waiting for the plurality of data to be received. The requestor can browse to other sites or continue with other tasks without fear of the plurality of data being lost. Second, the data is stored persistently in a database for subsequent retrieval and analysis.

FIG. 1 shows a system for remotely reading a SIM card 109, according to an exemplary embodiment of the present invention. In this embodiment, the system includes a network device 106, a request for a plurality of data 110, an OTA platform 104, a database 102, a file upload server 100, a plurality of data 112, a wireless communications device 108, and SIM card 109 onboard wireless communications device 108. When a user wishes to remotely read SIM card 109 on wireless communications device 108, the user uses a browser on the network device. The browser works with an application programming interface (API) onboard network device 106 to submit request 110. The API onboard network device 106 allows network device 106 to communicate with the OTA platform. Network device 106 communicates request 110 to OTA platform 104 over the network. OTA platform 104 allows a service provider to read and write data to and from SIM card 109 onboard wireless communications device 108. OTA platform 104 encrypts and sends request 110 to wireless communications device 108. Wireless communications device 108 reads SIM card 109 and relays plurality of data 112 from SIM card 109 back to OTA platform 104. OTA platform 104 translates then sends plurality of data 112 to file upload server 100 which records plurality of data 112 into database 102. The requestor queries database 102 over the network to receive plurality of data 112 from SIM card 109 of wireless communications device 108.

In other exemplary embodiments of the system the network device 106 may be a computer, a PDA, etc. The wireless communications device can be a cellular telephone, a PDA, or any other device capable of wireless communication. The SIM card is a common form of memory storage for cellular telephones especially on a GSM or UMTS standard. A SIM card stores network specific information used to authenticate and identify subscribers on a network. This information includes the Integrated Circuit Card Identification (ICCID), International Mobile Subscriber Identity (IMSI), Authentication Key (Ki), Local Area Identity (LAI), and Operator-Specific Emergency Number. The SIM card is a removable memory, but exemplary embodiments do not require the memory to be removable. Many other wireless communications devices having internal memory are within the scope of the present invention. The network device may use a web browser to send the request.

The OTA platform is responsible for formatting and encrypting the request to the wireless communications device. The OTA platform manages the content communication for the SIM card which is a secure process that requires a specific key. Each SIM card has a set of keys. The OTA platform receives the request from the network device, formats the request, and encrypts the request so that the wireless communications device understands the request. The wireless communications device then receives the request, reads the plurality of data requested, and sends the plurality of data back to the OTA platform. Then the OTA platform sends the plurality of data back through an API call to the file upload server. The file upload server can be a basic PHP process that receives the plurality of data, decodes the plurality of data, and records the plurality of data into a database.

The wireless communications device communicates with the OTA platform over a wireless network. The other components communicate with each other on a wired or wireless network. The network can be a closed network or a wide area network such as the INTERNET. Regardless of the network type, the process of requesting and receiving the plurality of data is generally the same.

FIG. 2 shows a flowchart of a method of remotely reading a SIM card on a wireless communications device, according to an exemplary embodiment of the present invention. In this embodiment, a requestor opens a web browser S220. The user browses to a secure website and requests a plurality of data from a specific SIM card S221. This is accomplished by entering the phone's identification, the user's identification, and any other credentials necessary for security. The data request is communicated to an OTA platform S222. The OTA platform can encrypt and send requests to and receive and decrypt data from wireless communications devices. The OTA platform sends the request to the wireless communications device S223. The wireless device receives the request and reads the plurality of data on the SIM card S224. The wireless device then sends the plurality of data to the OTA platform S225. The OTA platform receives the plurality of data and sends the plurality of data to a file upload server S226. The file upload server records the plurality of data into a database S227. The database persistently stores the plurality of data and allows the requestor to view the plurality of data at a later time. The user views the plurality of data in the web browser when desired S228.

Although it uses a web browser, the network device does not necessarily require an INTERNET connection, but a network connection, wired or wireless, to the OTA platform and the file upload server. SIM cards, as a form of memory on a wireless communications device, have levels of encryption to avoid unwanted access over its wireless connection. However, other forms of memory may exist on wireless communications devices that do not have the need for encryption. These and other forms of memory are readily recognizable to one skilled in the art and are within the scope of the present invention. In other exemplary embodiments of the present invention, the file upload server sends a notice to the network device notifying the requestor once the plurality of data has been recorded to the database.

The request for a plurality of data is submitted to the OTA platform via a Simple Object Access Protocol (SOAP) API service. It is in this respect that the API to the OTA platform is based on SOAP. Hypertext Transfer Protocol (HTTP) is the transport in this method. However, other transfer protocols may be used and are readily known to one of ordinary skill in the art. The OTA platform handles the request and returns the plurality of data to a designated Uniform Resource Locator (URL) submitted in the request. The URL is the address of a server which will receive the request and write the response to a database. At this URL is a file upload server utilizing a PHP process that parses the plurality of data and records the plurality of data into a database.

Because the request is submitted to the API and the plurality of data is handled asynchronously, the user is free to pursue other tasks with the web browser without opening multiple instances. Each instance consumes resources on the network device and the OTA platform. This approach also reduces the risk of potential browser refresh issues that may cause the plurality of data to be lost or requiring re-submittal of the request. Also, since the request is submitted to the API directly and by-passes the network device, the network device is freed up for other tasks or not even required at all. The solution also allows for the user to historically view the plurality of data in a database after the request has been processed. This is valuable in troubleshooting or testing scenarios where multiple requests are submitted. The user can always view the information from the database without recording it using other methods which are open for error.

In a further exemplary embodiment, the file upload server makes a duplicate request for a plurality of data from a SIM card of a wireless communications device at a later time. The file upload server sends the request to an OTA platform via a SOAP API service. The OTA platform handles the request and returns the plurality of data to a designated URL submitted in the original request. At this URL is the file upload server utilizing a PHP process that parses the plurality of data and records the plurality of data into a database. In this embodiment, the requester can view the plurality of data at a time later than the original request, and also view the plurality of data from the duplicate request. No matter when the requester views the plurality of data, the requestor knows the plurality of data is recent.

Whether the requester utilizes a web browser or another application built with the API, a request for a plurality of data requires similar elements. These elements include some identifying number or code specific to the wireless communications device, and a return URL to which the OTA platform sends the plurality of data once the plurality of data has been received from the wireless communications device.

FIG. 3A shows a screenshot of a request for a plurality of data 310 on a network device 306, according to an exemplary embodiment of the present invention. In this embodiment, the request includes a phone number entry 330, an integrated circuit card ID (ICCID) entry 331, a MSISDN entry 332, a return URL entry 333, a requested data entry 334, a send button 335, and a cancel button 336. The entry fields allow a user to enter known information concerning the SIM card to request data from the SIM card. Phone number entry 330 allows the user to enter the phone number of a wireless communications device associated with the SIM card to request data. ICCID entry 331 allows the user to enter the ICCID of the SIM card to request data. MSISDN entry 332 allows the user to enter the MSISDN to request data. Any one of the wireless communications device identifications, including phone number entry 330, ICCID entry 331, and MSISDN entry 332, can be used to identify the specific wireless communications device. Return URL entry 333 informs an OTA platform where to send data received from the wireless communications device. Requested data entry 334 allows the user to scroll through and select the data or type of data the user wishes to receive from the SIM card. After the user has entered at least one of the wireless communications device identifications, a return URL, and a data requested, the user presses or selects send button 335 to send the request. To cancel the request, the user presses or selects cancel button 336.

There are many other unique identifiers of wireless communications devices which are readily recognizable by one skilled in the art. In other exemplary embodiments, any of these unique identifiers can be used as well. The data and types of data that can be read from a SIM card of a wireless communications device are virtually limitless and can be requested from the SIM card in the same manner. These types of data include a network roaming list, an applet, an SMS message, etc. In exemplary embodiments where duplicate requests are to be made from the file upload server, an entry field with a time and count are included in a request.

Once the request is forwarded to the wireless communications device from the OTA platform, the plurality of data is returned. The plurality of data takes different forms as it travels to the database. The OTA platform must decrypt the plurality of data before sending it to the file upload server. Once the file upload server records the plurality of data to the database, the network device is ready to view the plurality of data. The plurality of data, though decrypted, is not always usable before being applied to a formula or program. In some embodiments the requestor is shown a selection screen where the plurality of data can be saved for processing or viewing.

FIG. 3B shows a screenshot of a data selection screen 312 on a network device 306, according to an exemplary embodiment of the present invention. In this embodiment, the plurality of data includes a phone number 330, an ICCID 331, a MSISDN 332, a requesting URL 333, download data 334, an OK button 337, and a download all button 338. Phone number 330 lists the telephone number associated with wireless communications device on which the plurality of data resides. ICCID 331 lists the specific ID of the SIM card of the wireless communications device. MSISDN 332 lists the MSISDN number of the wireless communications device. Requesting URL 333 lists the URL of the location which requested the plurality of data. Download data 334 allows the user to select which data the user wishes to download from a file server to network device 306. The user scrolls through download data 334 and selects the appropriate data. To download the selected data, the user selects or presses OK button 337. To download all of the available data, the user selects or presses download all button 338.

On other exemplary embodiments, the plurality of data can be viewed before making a selection of which data to view. When viewed in this manner, the data can be saved directly from the screen of the network device. For embodiments where the file upload server makes duplicate requests, the results screen contains a refresh button. Upon pressing or selecting the refresh button, the network device checks the database for more recent results than what is displayed.

In another exemplary embodiment, the network device does not view the plurality of data directly from the database, but communicates with the file upload server before gaining access to the database. Access to the plurality of data may be more secure in this manner. The database does not require the complexity in this embodiment, and can be nothing more than simply a hard drive onboard the file upload server.

FIG. 4 shows a system for remotely reading a SIM card 409 on a wireless communications device 408, according to an exemplary embodiment of the present invention. In this embodiment, the system includes a network device 406, a request for a plurality of data 410, an OTA platform 404, a file upload server 400, a database 402, a plurality of data 412, a wireless communications device 408, and a SIM card 409 onboard wireless communications device 408. Network device 406 sends request 410 to OTA platform 404 through a network. Request 410 includes an identification of wireless communications device as well as the plurality of data that is being requested. OTA platform 404 is capable of wirelessly sending and retrieving data from SIM card 409 on wireless communications device 408. OTA platform 404 receives request 410 from network device 406, encrypts, and forwards request 410 to wireless communications device 408. Wireless communications device 408 reads SIM card 409 to determine the desired data. Wireless communications device 408 then sends plurality of data 412 back to OTA platform 404. OTA platform receives plurality of data 412, decrypts, and sends plurality of data 412 to file upload server 400. File upload server 400 records plurality of data 412 into database 402 where it can be accessed at a later time. Network device 406 can upload data 412 from database 402 through file upload server 400 when the user desires.

Network device 406 may be a cellular telephone, a PDA, or any device capable of wireless communication. In other exemplary embodiments, the file upload server notifies the network device of the availability of the plurality of data recorded into the database.

The foregoing disclosure of the exemplary embodiments of the present invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many variations and modifications of the embodiments described herein will be apparent to one of ordinary skill in the art in light of the above disclosure. The scope of the invention is to be defined only by the claims appended hereto, and by their equivalents.

Further, in describing representative embodiments of the present invention, the specification may have presented the method and/or process of the present invention as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. As one of ordinary skill in the art would appreciate, other sequences of steps may be possible. Therefore, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. In addition, the claims directed to the method and/or process of the present invention should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the present invention. 

1. A system for gathering information from a SIM card of a wireless communications device comprising: a network device; an over the air (OTA) platform in communication with the network device; a wireless communications device having a SIM card in communication with the OTA platform; a plurality of data on the SIM card; a file upload server in communication with the OTA platform; and a database in communication with the file upload server; wherein the network device sends a request for a plurality of data to the OTA platform and receives the plurality of data from the database.
 2. The system in claim 1, wherein the network device is one of a PC, a PDA, and a cellular telephone.
 3. The system in claim 1, wherein the plurality of data includes one or more of a network roaming list, an applet, and an SMS message.
 4. The system in claim 1, wherein the OTA platform communicates with the network device over one of a cellular network, a WiFi network, a BLUETOOTH network, and a wired network.
 5. The system in claim 1, wherein the OTA platform communicates with the wireless communications device over a cellular network.
 6. The system in claim 1, wherein the OTA platform communicates with the file upload server over one of a cellular network, a WiFi network, a BLUETOOTH network, and a wired network.
 7. A method of viewing a plurality of data from a SIM card of a wireless communications device at a time later than a request for the plurality of data is sent comprising: recording the plurality of data to a database from a file upload server; and viewing the plurality of data from the database; wherein an OTA platform encrypts the request so that the wireless communications device understands and, once the OTA platform has received the plurality of data from the wireless communications device, sends the plurality of data to the file upload server.
 8. The method in claim 7, further comprising accessing the database over a web browser.
 9. The method in claim 8, wherein the accessing over the web browser further comprises connecting to the file upload server.
 10. The method in claim 7, wherein the viewing further comprises communicating with the file upload server.
 11. A method of gathering information from a SIM card of a wireless communications device comprising: sending a request for a plurality of data; encrypting the request so that a wireless communications device understands the request; sending the plurality of data to a file upload server; and recording the plurality of data onto a database; wherein the plurality of data can be viewed at a time later than it is recorded.
 12. The method in claim 11, further comprising decrypting the plurality of data.
 13. The method in claim 11, further comprising sending a duplicate request at a later time.
 14. The method in claim 11, further comprising viewing the plurality of data.
 15. The method in claim 14, wherein the viewing further comprises viewing the plurality of data through a web browser on a network device.
 16. The method in claim 11, further comprising specifying a return URL in the request. 